﻿using Infortime.Caches;
using Infortime.Domains.Rbac;
using Infortime.Dtos;
using Infortime.Options;
using Lazy.Captcha.Core;
using Microsoft.AspNetCore.Identity;
using System.Runtime.CompilerServices;
using Volo.Abp.Application.Services;
using Volo.Abp.Caching;
using Volo.Abp.EventBus.Local;
using Volo.Abp.Guids;

namespace Infortime.Services
{
    
    public class AccountService : ApplicationService, IAccountService
    {
        protected ILocalEventBus LocalEventBus => LazyServiceProvider.LazyGetRequiredService<ILocalEventBus>();
        private IDistributedCache<CaptchaPhoneCacheItem, CaptchaPhoneCacheKey> _phoneCache;
        private readonly ICaptcha _captcha;
        private readonly IGuidGenerator _guidGenerator;
        private readonly RbacOptions _rbacOptions;
        private readonly IAliyunManger _aliyunManger;
        private IDistributedCache<UserInfoCacheItem, UserInfoCacheKey> _userCache;
        //private UserManager _userManager;

        public Task<UserRoleMenuDto> GetAsync()
        {
            throw new NotImplementedException();
        }

        public Task<CaptchaImageDto> GetCaptchaImageAsync()
        {
            throw new NotImplementedException();
        }

        public Task<object> PostLoginAsync(LoginInputVo input)
        {
            throw new NotImplementedException();
        }

        public Task PostRegisterAsync(RegisterDto input)
        {
            throw new NotImplementedException();
        }

        public Task<bool> RestPasswordAsync(Guid userId, RestPasswordDto input)
        {
            throw new NotImplementedException();
        }
    }
}
